One method of securing a message transmitted between two devices is to use a one time pad. Both devices have a copy of the one time pad value and use it to calculate the output of a function, typically a hash function, based on message and the one time pad value. The results of the hash function may be referred to as a Message Authentication Codes (“MAC”). When the receiving device receives the message along with the MAC calculated at the transmitting device, it calculates the same hash function for the received message and its stored copy of the one time pad. If the hash function output calculated at the receiving device is the same as the MAC received from the transmitting device, then the receiving device determines that the message was not altered after it was transmitted from the transmitting device.
While using a one-time pad results in secure transmission of the message, the one-time pad is not reused. Thus, new one-time pad values must be generated and distributed to the transmitting device and the receiving device. This can consume processor resources as well as band width resources between transmitting devices and receiving devices. Thus, there is a need in the art for a method for determining a MAC that does not rely on a one-time pad value.